package scalab.core.interpreter

import scalab.utils.Path

/**
* This object contains all the settings 
* related to the boot behavior of scalab.
*/
object Settings{
	/**
	* If set to true, avoids that scalab disables
	*	the cache of components directly connected to the 
	*	Universe. Default is false.
	*/
	var preserveCache = false
	/**
	* Sets the boot cache directory. This can be used notably
	*	to share the boot cache among multiple developers.
	*	Default is './.scalab/boot/'.
	*/
	var bootCacheDir: String = Path("./.scalab/boot/")
	/**
	*	Allows to modify the threshold size limit of the boot cache.
	*	Default is 20 megabytes.
	*/
	var bootThresholdSize: Long = (20 * (1 << 20)).asInstanceOf[Long]
	/**
	*	Allows to modify the evicted size limit of the boot cache.
	*	Default is bootThresholdSize / 2.
	*/
	var bootEvictedSize: Long = bootThresholdSize >> 1
	/**
	* Allows to specify an other name for the build file.
	*	Default is './build.scala'.
	*/
	var mainBuildFile: String = Path("./build.scala")
	/**
	* The name of the target to be updated. Default is 'default'.
	*/
	var targetName: String = "default"
}
